namespace NBox.Service.EmailSender
{
	using System;

	/// <summary>
	/// Abstracts an approach to send e-mails
	/// </summary>
	public interface IEmailSender
	{
		/// <summary>
		/// Sends a message. 
		/// </summary>
		/// <param name="from">From field</param>
		/// <param name="to">To field</param>
		/// <param name="subject">e-mail's subject</param>
		/// <param name="messageText">message's body</param>
		void Send(String from, String to, String subject, String messageText);

		/// <summary>
		/// Sends a message. 
		/// </summary>
		/// <param name="message">Message instance</param>
		void Send(Message message);

		/// <summary>
		/// Sends multiple messages. 
		/// </summary>
		/// <param name="messages">Array of messages</param>
		void Send(Message[] messages);
	}
}
